/*
使用软定时器原理的“多任务”系统，轮询调用入口，非RTOS。
“任务”在main里面被调用执行,不在中断中执行，可以执行耗时任务，但是会影响其他“任务”的响应及时性。

	本程序用于演示触摸键功能，程序架构如下：
	app
	|
	btn_ctrl_static
	|
	touch_key
	|
	soft_cap_sensor
	|
	bsp
	|
	mcu driver
	通过修改bsp文件夹可以轻松移植。
	得益于POLSYS架构的特性，本文件的代码内容与物理按钮DEMO完全一样，这里面的妙处需要使用者体会。
*/

#include "app.h"
#include "board.h"
#include "polsys.h"

// 以下事件函数看起来像中断，但是都在主程序线程执行，可以执行耗时操作，但可能会拖慢整个软件的运行速度。

// 软件启动事件。软件启动执行一次，函数名由 polsys 确定，不可任意修改。（看成是中断服务函数）
void App_Load()
{
	Board_Init();
	Btn_Init();
	Board_LedOff();
}

// 按钮事件，由 btn_ctrl_static 组件调用
void Btn_Event(btn_ev_t e)
{
	switch (e)
	{
	case BTN_EV_DOWN:
		Board_LedOn();
		break;
	case BTN_EV_UP:
		Board_LedOff();
		break;
	default:
		break;
	}
}
